package com.ylr.send.common.bo;

import com.ylr.base.common.constant.Constant;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-06-26 10:07:00
 * className: SendSmsBo
 * version: 1.0
 * description:
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class SendSmsBo {

    /**
     * 操作次数
     */
    private Integer count;

    /**
     * 第一次操作时间（时间戳）
     */
    private Long firstOptTime;


    public SendSmsBo() {}

    public SendSmsBo(Integer count, Long firstOptTime) {
        this.count = count;
        this.firstOptTime = firstOptTime;
    }

    /**
     * 重置统计数据
     * @param startTime 当前系统时间所在自然日的开始时间
     * @param nowTime   当前系统时间戳
     */
    public void resetData(Long startTime, Long nowTime) {
        if (nowTime - firstOptTime > Constant.ONE_DAY_NUM) {
            // 参数时间戳与第一次操作时间戳间隔大于一天
            count = 0;
            firstOptTime = startTime;
        }
    }

    /**
     * 操作次数自增
     */
    public void incrementCount() {
        this.count++;
    }

}
